package avicit.cbb.billdefine.service.api;

import avicit.platform6.core.rest.msg.ResponseMsg;
import avicit.platform6.core.restclient.RestClient;
import avicit.platform6.core.restclient.RestClientUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.stereotype.Component;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Component
public class BillDefineManagerIntfsServiceApi {


    private static final String SERVICE_CODE = "filebasicmanager";

    private static final String BASE_PATH = "/api/BillDefineManagerIntfsService/BillDefineManagerIntfsServiceRest";

    @Autowired
    private RestClient restClient;

    /**
     *根据表ID以及查询条件，获取表的列信息以及数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @param s
     * @param
     * @param listParam
     * @return
     */
    public List<Map<String, Object>> getTableFieldsAndDatasBySearchByOrderbyByIntfs(String orgId, String deptId, String sysId, String tableId, String s, String s1, String nodeId, Map<String, Object> listParam) {
        String url = BASE_PATH + "/getTableFieldsAndDatasBySearchByOrderbyByIntfs";
        Map<String,Object> map = new HashMap<>();
        map.put("orgId",orgId);
        map.put("deptId",deptId);
        map.put("sysId",sysId);
        map.put("tableId",tableId);
        map.put("s",s);
        map.put("s1",s1);
        map.put("nodeId",nodeId);
        map.put("listParam",listParam);
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, map, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }

    /**
     * 获取字段通用代码数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @param s
     * @param s1
     * @param lookUpMap
     * @return
     */
    public Map<String, Map<String, String>> getBillLookUpCodeByIntfs(String orgId, String deptId, String sysId, String tableId, String s, String s1, Map<String, Object> lookUpMap) {
        String url = BASE_PATH + "/getBillLookUpCodeByIntfs";
        Map<String,Object> map = new HashMap<>();
        map.put("orgId",orgId);
        map.put("deptId",deptId);
        map.put("sysId",sysId);
        map.put("tableId",tableId);
        map.put("s",s);
        map.put("s1",s1);
        map.put("lookUpMap",lookUpMap);
        ResponseMsg<Map<String, Map<String, String>>> responseMsg = restClient.doPost(SERVICE_CODE, url, map, new ParameterizedTypeReference<ResponseMsg<Map<String, Map<String, String>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }

    /**
     *根据数据ID，获取编辑或详细，字段和数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @param s
     * @param s1
     * @param editMap
     * @return
     */
    public List<Map<String, Object>> getEditOrDetailFieldsAndDataByIntfsItera(String orgId, String deptId, String sysId, String tableId, String s, String s1, Map<String, Object> editMap) {
        String url = BASE_PATH + "/getEditOrDetailFieldsAndDataByIntfsItera";
        Map<String,Object> map = new HashMap<>();
        map.put("orgId",orgId);
        map.put("deptId",deptId);
        map.put("sysId",sysId);
        map.put("tableId",tableId);
        map.put("s",s);
        map.put("s1",s1);
        map.put("editMap",editMap);
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, map, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }

    /**
     *根据数据ID，获取编辑或详细，字段和数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @param s
     * @param s1
     * @param editMap
     * @return
     */
    public List<Map<String, Object>> getEditOrDetailFieldsAndDataByIntfs(String orgId, String deptId, String sysId, String tableId, String s, String s1, Map<String, Object> editMap) {
        String url = BASE_PATH + "/getEditOrDetailFieldsAndDataByIntfs";
        Map<String,Object> map = new HashMap<>();
        map.put("orgId",orgId);
        map.put("deptId",deptId);
        map.put("sysId",sysId);
        map.put("tableId",tableId);
        map.put("s",s);
        map.put("editMap",editMap);
        map.put("s1",s1);
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, map, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据SQL查询所需要的数据（纯动态表,公共字段列带分页，供列表显示）
     * @param sql
     * @param pageNo
     * @param pageSize
     * @param sysId
     * @param allListColName
     * @param orgId
     * @param deptId
     * @param flag
     * @param paramMap
     * @return
     */
    public List<Map<String, Object>> getTableFieldsAndDatasBySqlByDtByIntfs(String sql,String pageNo,String pageSize,String sysId,List<String> allListColName,String orgId,String deptId,String flag,Map<String, Object> paramMap) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("sql",sql);
        resMaps.put("pageNo",pageNo);
        resMaps.put("pageSize",pageSize);
        resMaps.put("sysId",sysId);
        resMaps.put("allListColName",allListColName);
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("flag",flag);
        resMaps.put("paramMap",paramMap);
        String url = BASE_PATH + "/getTableFieldsAndDatasBySqlByDtByIntfs/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *获取分类检索分页总条数 zms
     * @param currentOrgId
     * @param currentDeptId
     * @param sysId
     * @param tableId
     * @param pageNo
     * @param pageSize
     * @param toString
     * @param param
     * @return
     */
    public String getTableFieldsAndDatasBySearchByOrderbyByIntfsCount(String currentOrgId,String currentDeptId,String sysId,String tableId,String pageNo,String pageSize,String toString,Map<String, Object> param) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("currentOrgId",currentOrgId);
        resMaps.put("currentDeptId",currentDeptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableId",tableId);
        resMaps.put("pageNo",pageNo);
        resMaps.put("pageSize",pageSize);
        resMaps.put("toString",toString);
        resMaps.put("param",param);
        String url = BASE_PATH + "/getTableFieldsAndDatasBySearchByOrderbyByIntfsCount/v1";
        ResponseMsg<String> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<String>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据固定表集合，动态表ID及查询条件， 获取2层表结构（父-子）的列信息以及数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tabColnumsList
     * @param tableId
     * @param pageNo
     * @param pageSize
     * @param serachMapFroT1List
     * @param serachMapFroT2
     * @param leftJoinOnCondition
     * @return
     */
    public List<Map<String, Object>> getTableFieldsAndDatasByTabColListAndTableIdByIntfs(String orgId,String deptId,String sysId,List<Map<String, Object>> tabColnumsList,String tableId,String pageNo,String pageSize,List<Map<String, Object>> serachMapFroT1List,Map<String, Object> serachMapFroT2,Map<String, String> leftJoinOnCondition) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tabColnumsList",tabColnumsList);
        resMaps.put("tableId",tableId);
        resMaps.put("pageNo",pageNo);
        resMaps.put("pageSize",pageSize);
        resMaps.put("serachMapFroT1List",serachMapFroT1List);
        resMaps.put("serachMapFroT2",serachMapFroT2);
        resMaps.put("leftJoinOnCondition",leftJoinOnCondition);
        String url = BASE_PATH + "/getTableFieldsAndDatasByTabColListAndTableIdByIntfs/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据表IDS(以英文分号分开,顺序为：父;子)及查询条件， 获取2层表结构（父-子）的列信息以及数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @param pageNo
     * @param pageSize
     * @param serachCondition
     * @param param
     * @return
     */
    public List<Map<String, Object>> getTableFieldsAndDatasBySearchByOrderbyByIntfsItera(String orgId,String deptId,String sysId,String tableId,String pageNo,String pageSize,String serachCondition,Map<String, Object> param) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableId",tableId);
        resMaps.put("pageNo",pageNo);
        resMaps.put("pageSize",pageSize);
        resMaps.put("serachCondition",serachCondition);
        resMaps.put("param",param);
        String url = BASE_PATH + "/getTableFieldsAndDatasBySearchByOrderbyByIntfsItera/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据表IDS(以英文分号分开,顺序为：父;子)及查询条件， 获取2层表结构（父-子）的列信息以及数据
     * @param sql
     * @param pageNo
     * @param pageSize
     * @param sysId
     * @param allListColName
     * @param orgId
     * @param deptId
     * @param tableMap
     * @return
     */
    public List<Map<String, Object>> getTableFieldsAndDatasBySqlByIntfs(String sql,String pageNo,String pageSize,String sysId,List<String> allListColName,String orgId,String deptId,Map<String, Object> tableMap) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("sql",sql);
        resMaps.put("pageNo",pageNo);
        resMaps.put("pageSize",pageSize);
        resMaps.put("sysId",sysId);
        resMaps.put("allListColName",allListColName);
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("tableMap",tableMap);
        String url = BASE_PATH + "/getTableFieldsAndDatasBySqlByIntfs/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据表IDS(以英文分号分开,顺序为：父;子)及查询条件， 获取2层表结构（父-子）的列信息以及数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableIds
     * @param relationT1
     * @param relationT2
     * @param pageNo
     * @param pageSize
     * @param serachSql
     * @return
     */
    public List<Map<String, Object>> getTableFieldsAndDatasByTwoTrendsTablesByIntfs(String orgId,String deptId,String sysId,String tableIds,String relationT1,String relationT2,String pageNo,String pageSize,String serachSql) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableIds",tableIds);
        resMaps.put("relationT1",relationT1);
        resMaps.put("relationT2",relationT2);
        resMaps.put("pageNo",pageNo);
        resMaps.put("pageSize",pageSize);
        resMaps.put("serachSql",serachSql);
        String url = BASE_PATH + "/getTableFieldsAndDatasByTwoTrendsTablesByIntfs/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据表ID以及查询条件，获取表的列信息以及数据（不转换任何数据，纯数据库数据）
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @param pageNo
     * @param pageSize
     * @param serachCondition
     * @param changeMap
     * @return
     */
    public List<Map<String, Object>> getTableFieldsAndDatasBySearchByNoChangeByIntfs(String orgId,String deptId,String sysId,String tableId,String pageNo,String pageSize,String serachCondition,Map<String, Object> changeMap) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableId",tableId);
        resMaps.put("pageNo",pageNo);
        resMaps.put("pageSize",pageSize);
        resMaps.put("serachCondition",serachCondition);
        resMaps.put("changeMap",changeMap);
        String url = BASE_PATH + "/getTableFieldsAndDatasBySearchByNoChangeByIntfs/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据表IDS(以英文分号分开,顺序为：父;子)及查询条件， 获取2层表结构（父-子）的列信息以及数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableIds
     * @param pageNo
     * @param pageSize
     * @param serachMapFroT1
     * @param serachMapFroT2
     * @return
     */
    public List<Map<String, Object>> getTableFieldsAndDatasByTwoTablesByIntfs(String orgId,String deptId,String sysId,String tableIds,String pageNo,String pageSize,Map<String, Object> serachMapFroT1,Map<String, Object> serachMapFroT2) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableIds",tableIds);
        resMaps.put("pageNo",pageNo);
        resMaps.put("pageSize",pageSize);
        resMaps.put("serachMapFroT1",serachMapFroT1);
        resMaps.put("serachMapFroT2",serachMapFroT2);
        String url = BASE_PATH + "/getTableFieldsAndDatasByTwoTablesByIntfs/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *主子表批量插入关系数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @param childTableId
     * @param mainObjList
     * @param childObjList
     */
    public void insertMainChildDatasByBatchByIntfs(String orgId,String deptId,String sysId,String nodeId,String tableId,String childTableId,List<Map<String, Object>> mainObjList,List<Map<String, Object>> childObjList) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        resMaps.put("childTableId",childTableId);
        resMaps.put("mainObjList",mainObjList);
        resMaps.put("childObjList",childObjList);
        String url = BASE_PATH + "/insertMainChildDatasByBatchByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据表ID以及查询条件，获取表的列信息以及数据(不自动排序，自己条件排序)
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @param pageNo
     * @param pageSize
     * @param serachCondition
     * @return
     */
    public List<Map<String, Object>> getTableFieldsAndDatasBySearchByIntfs(String orgId,String deptId,String sysId,String tableId,String pageNo,String pageSize,String serachCondition) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableId",tableId);
        resMaps.put("pageNo",pageNo);
        resMaps.put("pageSize",pageSize);
        resMaps.put("serachCondition",serachCondition);
        String url = BASE_PATH + "/getTableFieldsAndDatasBySearchByIntfs/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据配置规则，给表中数据重新插入数据
     * @param sysId
     * @param orgId
     * @param deptId
     * @param conditionMap
     */
    public void insertFieldValueByConditionMapByIntfs(String sysId,String orgId,String deptId,Map<String, Object> conditionMap) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("sysId",sysId);
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("conditionMap",conditionMap);
        String url = BASE_PATH + "/insertFieldValueByConditionMapByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据数据ID修改业务数据状态等（单一数据修改,带有文件级反更新新案卷级操作,编辑文件数据时用）
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @param mapObj
     * @param dataId
     * @param param
     */
    public void updateRecordByDataIdWithUpdateAjByIntfs(String orgId,String deptId,String sysId,String nodeId,String tableId,Map<String, Object> mapObj,String dataId,Map<String, Object> param) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        resMaps.put("mapObj",mapObj);
        resMaps.put("dataId",dataId);
        resMaps.put("param",param);
        String url = BASE_PATH + "/updateRecordByDataIdWithUpdateAjByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据IDS批量修改业务数据状态等（批量数据修改,带有反更新操作,删除文件数据时用）
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @param mapObj
     * @param dataIds
     * @param param
     */
    public void updateRecordByDataIdsWithUpdateAjByIntfs(String orgId,String deptId,String sysId,String nodeId,String tableId,Map<String, Object> mapObj,String dataIds,Map<String, Object> param) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        resMaps.put("mapObj",mapObj);
        resMaps.put("dataIds",dataIds);
        resMaps.put("param",param);
        String url = BASE_PATH + "/updateRecordByDataIdsWithUpdateAjByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据CbbSQL查询所需要的数据（带分页，供列表显示）
     * @param orgId
     * @param deptId
     * @param sql
     * @param pageNo
     * @param pageSize
     * @param sysId
     * @param allListColName
     * @param fixColName
     * @param searchSql
     * @param param
     * @param otherFlag
     * @return
     */
    public List<Map<String, Object>> getTableFieldsAndDatasByCbbSqlByIntfs(String orgId,String deptId,String sql,String pageNo,String pageSize,String sysId,List<String> allListColName,List<String> fixColName,String searchSql,Map<String, Object> param,String otherFlag) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sql",sql);
        resMaps.put("pageNo",pageNo);
        resMaps.put("pageSize",pageSize);
        resMaps.put("sysId",sysId);
        resMaps.put("allListColName",allListColName);
        resMaps.put("fixColName",fixColName);
        resMaps.put("searchSql",searchSql);
        resMaps.put("param",param);
        resMaps.put("otherFlag",otherFlag);
        String url = BASE_PATH + "/getTableFieldsAndDatasByCbbSqlByIntfs/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据CbbSQL查询所需要的数据（带分页，供列表显示）
     *      *
     *      * @author 赵晓龙 备注：编研车调用查询数据方法重写
     *      *            (如果为空字符串，那么不提供分页功能)
     *      *            (如果为空字符串，那么不提供分页功能)
     * @param orgId
     * @param deptId
     * @param sql
     * @param pageNo
     * @param pageSize
     * @param sysId
     * @param allListColName
     * @param fixColName
     * @param searchSql
     * @param param
     * @return
     */
    public List<Map<String, Object>> getTableFieldsAndDatasByCbbSqlByIntfs(String orgId,String deptId,String sql,String pageNo,String pageSize,String sysId,List<String> allListColName,List<String> fixColName,String searchSql,Map<String, Object> param) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sql",sql);
        resMaps.put("pageNo",pageNo);
        resMaps.put("pageSize",pageSize);
        resMaps.put("sysId",sysId);
        resMaps.put("allListColName",allListColName);
        resMaps.put("fixColName",fixColName);
        resMaps.put("searchSql",searchSql);
        resMaps.put("param",param);
        String url = BASE_PATH + "/getTableFieldsAndDatasByCbbSqlByIntfs/v2";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据表ID和列名称获取列类型
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @param colName
     * @return
     */
    public String getColTypeByTableIdAndColNameByIntfs(String orgId,String deptId,String sysId,String tableId,String colName) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableId",tableId);
        resMaps.put("colName",colName);
        String url = BASE_PATH + "/getColTypeByTableIdAndColNameByIntfs/v1";
        ResponseMsg<String> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<String>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据IDS，批量修改业务数据（断开表间数据关系）
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @param dataIds
     * @param params
     */
    public void updateDisconnectRecordByDataIdsByIntfs(String orgId,String deptId,String sysId,String nodeId,String tableId,String dataIds,Map<String, Object> params) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        resMaps.put("dataIds",dataIds);
        resMaps.put("params",params);
        String url = BASE_PATH + "/updateDisconnectRecordByDataIdsByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }





//    public List<Map<String, Object>> getEditOrDetailFieldsAndDataByIntfs(String orgId,String deptId,String sysId,String tableId,String dataId,String flag,Map<String, Object> params) {
//        Map<String,Object> resMaps = new HashMap<>();
//        resMaps.put("orgId",orgId);
//        resMaps.put("deptId",deptId);
//        resMaps.put("sysId",sysId);
//        resMaps.put("tableId",tableId);
//        resMaps.put("dataId",dataId);
//        resMaps.put("flag",flag);
//        resMaps.put("params",params);
//        String url = BASE_PATH + "/getEditOrDetailFieldsAndDataByIntfs/v1";
//        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
//        });
//        return RestClientUtils.getResponseBody(responseMsg);
//    }


    /**
     *根据数据ID，获取编辑或详细，字段和数据（不带参数集合）
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @param dataId
     * @param flag
     * @return
     */
    public List<Map<String, Object>> getEditOrDetailFieldsAndDataByIntfs(String orgId,String deptId,String sysId,String tableId,String dataId,String flag) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableId",tableId);
        resMaps.put("dataId",dataId);
        resMaps.put("flag",flag);
        String url = BASE_PATH + "/getEditOrDetailFieldsAndDataByIntfs/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     * 根据数据ID，获取编辑或详细，字段和数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @param dataId
     * @param flag
     * @param params
     * @return
     */
    public List<Map<String, Object>> getEditOrDetailFieldsAndDataByIntfsIera(String orgId,String deptId,String sysId,String tableId,String dataId,String flag,Map<String, Object> params) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableId",tableId);
        resMaps.put("dataId",dataId);
        resMaps.put("flag",flag);
        resMaps.put("params",params);
        String url = BASE_PATH + "/getEditOrDetailFieldsAndDataByIntfsIera/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }





//    public List<Map<String, Object>> getEditOrDetailFieldsAndDataByIntfsItera(String orgId,String deptId,String sysId,String tableId,String dataId,String flag,Map<String, Object> params) {
//        Map<String,Object> resMaps = new HashMap<>();
//        resMaps.put("orgId",orgId);
//        resMaps.put("deptId",deptId);
//        resMaps.put("sysId",sysId);
//        resMaps.put("tableId",tableId);
//        resMaps.put("dataId",dataId);
//        resMaps.put("flag",flag);
//        resMaps.put("params",params);
//        String url = BASE_PATH + "/getEditOrDetailFieldsAndDataByIntfsItera/v1";
//        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
//        });
//        return RestClientUtils.getResponseBody(responseMsg);
//    }


    /**
     *根据表ID，获取公共表中所有选择弹出框信息（返回值以英文分号隔开）
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @return
     */
    public String getSelectDialogStringByPubByIntfs(String orgId,String deptId,String sysId,String tableId) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableId",tableId);
        String url = BASE_PATH + "/getSelectDialogStringByPubByIntfs/v1";
        ResponseMsg<String> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<String>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }





//    public List<Map<String, Object>> getTableFieldsAndDatasBySearchByOrderbyByIntfs(String orgId,String deptId,String sysId,String tableId,String pageNo,String pageSize,String serachCondition,Map<String, Object> param) {
//        Map<String,Object> resMaps = new HashMap<>();
//        resMaps.put("orgId",orgId);
//        resMaps.put("deptId",deptId);
//        resMaps.put("sysId",sysId);
//        resMaps.put("tableId",tableId);
//        resMaps.put("pageNo",pageNo);
//        resMaps.put("pageSize",pageSize);
//        resMaps.put("serachCondition",serachCondition);
//        resMaps.put("param",param);
//        String url = BASE_PATH + "/getTableFieldsAndDatasBySearchByOrderbyByIntfs/v1";
//        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
//        });
//        return RestClientUtils.getResponseBody(responseMsg);
//    }


    /**
     *根据标识条件，获取字段信息
     *      * 预归档，著录整理，馆藏档案调用此方法
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @param flag
     * @param dataId
     * @param params
     * @return
     */
    public List<Map<String, Object>> getFieldsByConditionByIntfsItera(String orgId,String deptId,String sysId,String tableId,String flag,String dataId,Map<String, Object> params) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableId",tableId);
        resMaps.put("flag",flag);
        resMaps.put("dataId",dataId);
        resMaps.put("params",params);
        String url = BASE_PATH + "/getFieldsByConditionByIntfsItera/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *获取表单所有业务数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @return
     */
    public List<Map<String, Object>> getFormDatasByIntfs(String orgId,String deptId,String sysId,String nodeId,String tableId) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        String url = BASE_PATH + "/getFormDatasByIntfs/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据业务状态等获取业务数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @param mapObj
     * @return
     */
    public List<Map<String, Object>> getFormDatasByStatusByIntfs(String orgId,String deptId,String sysId,String nodeId,String tableId,Map<String, Object> mapObj) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        resMaps.put("mapObj",mapObj);
        String url = BASE_PATH + "/getFormDatasByStatusByIntfs/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据表ID，获取表的列信息以及数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @param pageNo
     * @param pageSize
     * @param serachMap
     * @return
     */
    public List<Map<String, Object>> getTableFieldsAndDatasByIntfs(String orgId,String deptId,String sysId,String tableId,String pageNo,String pageSize,Map<String, Object> serachMap) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableId",tableId);
        resMaps.put("pageNo",pageNo);
        resMaps.put("pageSize",pageSize);
        resMaps.put("serachMap",serachMap);
        String url = BASE_PATH + "/getTableFieldsAndDatasByIntfs/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据SQL修改数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param sql
     * @param params
     */
    public void updateRecordBySqlByIntfs(String orgId,String deptId,String sysId,String sql,Map<String, Object> params) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("sql",sql);
        resMaps.put("params",params);
        String url = BASE_PATH + "/updateRecordBySqlByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据数据id删除附件和mongdb数据
     * @param dataIds
     * @param sysId
     */
    public void deleteAttachmentByDataIdsByIntfs(List<String> dataIds,String sysId) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("dataIds",dataIds);
        resMaps.put("sysId",sysId);
        String url = BASE_PATH + "/deleteAttachmentByDataIdsByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据源条目id和新条目id复制附件信息
     * @param dataId
     * @param dataNewId
     */
    public void insertMongoDbAttachment(String dataId,String dataNewId) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("dataId",dataId);
        resMaps.put("dataNewId",dataNewId);
        String url = BASE_PATH + "/insertMongoDbAttachment/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据记录IDS批量删除记录信息
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @param dataIds
     * @param param
     */
    public void deleteRecordByDataIdsByIntfs(String orgId,String deptId,String sysId,String nodeId,String tableId,String dataIds,Map<String, Object> param) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        resMaps.put("dataIds",dataIds);
        resMaps.put("param",param);
        String url = BASE_PATH + "/deleteRecordByDataIdsByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *复制/剪切时,粘贴用批量插入数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @param listMapObj
     * @param loginUserId
     * @param loginIp
     */
    public void insertRecordByPasteBatchByIntfs(String orgId,String deptId,String sysId,String nodeId,String tableId,List<Map<String, Object>> listMapObj,String loginUserId,String loginIp) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        resMaps.put("listMapObj",listMapObj);
        resMaps.put("loginUserId",loginUserId);
        resMaps.put("loginIp",loginIp);
        String url = BASE_PATH + "/insertRecordByPasteBatchByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *生成全部档号或所选档号
     * @param orgId
     * @param deptId
     * @param sysId
     * @param paramMap
     */
    public void updateRecordByArchiveCodeByIntfs(String orgId,String deptId,String sysId,Map<String, Object> paramMap) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("paramMap",paramMap);
        String url = BASE_PATH + "/updateRecordByArchiveCodeByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *归档接口批量新增数据(带附件)
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @param listMapObj
     * @param loginUserId
     * @param loginIp
     * @return
     */
    public Map<String, Object> insertRecordByfileBatchByIntfs(String orgId,String deptId,String sysId,String nodeId,String tableId,List<Map<String, Object>> listMapObj,String loginUserId,String loginIp) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        resMaps.put("listMapObj",listMapObj);
        resMaps.put("loginUserId",loginUserId);
        resMaps.put("loginIp",loginIp);
        String url = BASE_PATH + "/insertRecordByfileBatchByIntfs/v1";
        ResponseMsg<Map<String, Object>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<Map<String, Object>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     * 添加业务数据（后台应用配置添加）
     *
     * @author 朱锋
     * @param
     *            参数MAP[p1：key='tableId'，value：String必填（表ID）]
     *            [p2：key='mapObj'，value：Map<String（字段名）, Object（值）> 必填（新增值）]
     *            [p3：key='loginUserId'，value：String 必填（登陆用户ID）]
     *            [p4：key='loginIp'，value：String 必填（登陆用户IP）]
     *            [p5：key='dataId'，value：String 非必填（顺带，序列应用时所选记录的ID）]
     *            [p6：key='ortherConfigDataId'，value：String 非必填（组合项应用时兄弟表记录的ID）]
     *            [p7：key='userAuthsql'，value：String 非必填（条件sql，其中包含了用户权限sql）]
     * @param orgId
     * @param deptId
     * @param sysId
     * @param param
     * @return
     */
    public String insertRecordByConfigByIntfs(String orgId,String deptId,String sysId,Map<String, Object> param) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("param",param);
        String url = BASE_PATH + "/insertRecordByConfigByIntfs/v1";
        ResponseMsg<String> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<String>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *批量修改数据(同字段,多值)
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @param mapParam
     */
    public void updateRecordByBatchByIntfs(String orgId,String deptId,String sysId,String nodeId,String tableId,Map<String, Object> mapParam) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        resMaps.put("mapParam",mapParam);
        String url = BASE_PATH + "/updateRecordByBatchByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据IDS，批量修改业务数据（建立案卷级和文件级数据关系）
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param ajjDataId
     * @param wjjDataIds
     * @param params
     */
    public void updateRecordByAjjDataIdByIntfs(String orgId,String deptId,String sysId,String nodeId,String ajjDataId,String wjjDataIds,Map<String, Object> params) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("ajjDataId",ajjDataId);
        resMaps.put("wjjDataIds",wjjDataIds);
        resMaps.put("params",params);
        String url = BASE_PATH + "/updateRecordByAjjDataIdByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据数据ID，获取业务数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @param dataId
     * @return
     */
    public List<Map<String, Object>> getFormSingleDataByIntfs(String orgId,String deptId,String sysId,String nodeId,String tableId,String dataId) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        resMaps.put("dataId",dataId);
        String url = BASE_PATH + "/getFormSingleDataByIntfs/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *添加业务数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @param mapObj
     * @param loginUserId
     * @param loginIp
     * @return
     */
    public String insertRecordByIntfs(String orgId,String deptId,String sysId,String nodeId,String tableId,Map<String, Object> mapObj,String loginUserId,String loginIp) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        resMaps.put("mapObj",mapObj);
        resMaps.put("loginUserId",loginUserId);
        resMaps.put("loginIp",loginIp);
        String url = BASE_PATH + "/insertRecordByIntfs/v1";
        ResponseMsg<String> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<String>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *添加业务数据（批量）
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @param listMapObj
     * @param loginUserId
     * @param loginIp
     * @param param
     * @return
     */
    public String insertRecordByBatchByIntfs(String orgId,String deptId,String sysId,String nodeId,String tableId,List<Map<String, Object>> listMapObj,String loginUserId,String loginIp,Map<String, Object> param) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        resMaps.put("listMapObj",listMapObj);
        resMaps.put("loginUserId",loginUserId);
        resMaps.put("loginIp",loginIp);
        resMaps.put("param",param);
        String url = BASE_PATH + "/insertRecordByBatchByIntfs/v1";
        ResponseMsg<String> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<String>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *获取字段通用代码数据
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @param dataId
     * @param flag
     * @return
     */
    public Map<String, Map<String, String>> getBillLookUpCodeByIntfs(String orgId,String deptId,String sysId,String tableId,String dataId,String flag) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableId",tableId);
        resMaps.put("dataId",dataId);
        resMaps.put("flag",flag);
        String url = BASE_PATH + "/getBillLookUpCodeByIntfs/v1";
        ResponseMsg<Map<String, Map<String, String>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<Map<String, Map<String, String>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }





//    public Map<String, Map<String, String>> getBillLookUpCodeByIntfs(String orgId,String deptId,String sysId,String tableId,String dataId,String flag,Map<String, Object> params) {
//        Map<String,Object> resMaps = new HashMap<>();
//        resMaps.put("orgId",orgId);
//        resMaps.put("deptId",deptId);
//        resMaps.put("sysId",sysId);
//        resMaps.put("tableId",tableId);
//        resMaps.put("dataId",dataId);
//        resMaps.put("flag",flag);
//        resMaps.put("params",params);
//        String url = BASE_PATH + "/getBillLookUpCodeByIntfs/v1";
//        ResponseMsg<Map<String, Map<String, String>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<Map<String, Map<String, String>>>>() {
//        });
//        return RestClientUtils.getResponseBody(responseMsg);
//    }


    /**
     *根据tableId、nodeId获取tabNodeId（文件类型取‘个人文件’‘部门文件’节点ID作为tabNodeId）
     * @param sysId
     * @param tableId
     * @param nodeId
     * @return
     */
    public String getCbbTabNodeIdByTableId(String sysId,String tableId,String nodeId) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("sysId",sysId);
        resMaps.put("tableId",tableId);
        resMaps.put("nodeId",nodeId);
        String url = BASE_PATH + "/getCbbTabNodeIdByTableId/v1";
        ResponseMsg<String> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<String>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据表ID，字段名，查询条件(SQL语句)查询
     * @param tableId
     * @param searchSql
     * @param colName
     * @param orgId
     * @param deptId
     * @param sysId
     * @param flag
     * @return
     */
    public Object getOperationTableColDataByIntfs(String tableId,String searchSql,String colName,String orgId,String deptId,String sysId,String flag) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("tableId",tableId);
        resMaps.put("searchSql",searchSql);
        resMaps.put("colName",colName);
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("flag",flag);
        String url = BASE_PATH + "/getOperationTableColDataByIntfs/v1";
        ResponseMsg<Object> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<Object>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据数据ID修改业务数据状态等（单一数据修改）
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @param mapObj
     * @param dataId
     * @param params
     */
    public void updateRecordByDataIdByIntfs(String orgId,String deptId,String sysId,String nodeId,String tableId,Map<String, Object> mapObj,String dataId,Map<String, Object> params) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        resMaps.put("mapObj",mapObj);
        resMaps.put("dataId",dataId);
        resMaps.put("params",params);
        String url = BASE_PATH + "/updateRecordByDataIdByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据记录ID删除记录信息
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @param dataId
     * @param params
     */
    public void deleteRecordByDataIdByIntfs(String orgId,String deptId,String sysId,String nodeId,String tableId,String dataId,Map<String, Object> params) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        resMaps.put("dataId",dataId);
        resMaps.put("params",params);
        String url = BASE_PATH + "/deleteRecordByDataIdByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据表ID，获取所有选择弹出框信息（返回值以英文分号隔开）
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @return
     */
    public String getSelectDialogStringByIntfs(String orgId,String deptId,String sysId,String tableId) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableId",tableId);
        String url = BASE_PATH + "/getSelectDialogStringByIntfs/v1";
        ResponseMsg<String> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<String>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *复制/剪切的粘贴操作
     * @param targetNodeId
     * @param sourceNodeId
     * @param sourceTableId
     * @param sourceChildTableId
     * @param fromType
     * @param dataIds
     * @param operator
     * @param selectType
     * @param orgId
     * @param deptId
     * @param sysId
     * @param loginUserId
     * @param loginIp
     * @param params
     */
    public void doPasteDatasByIntfs(String targetNodeId,String sourceNodeId,String sourceTableId,String sourceChildTableId,String fromType,String dataIds,String operator,String selectType,String orgId,String deptId,String sysId,String loginUserId,String loginIp,Map<String, Object> params) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("targetNodeId",targetNodeId);
        resMaps.put("sourceNodeId",sourceNodeId);
        resMaps.put("sourceTableId",sourceTableId);
        resMaps.put("sourceChildTableId",sourceChildTableId);
        resMaps.put("fromType",fromType);
        resMaps.put("dataIds",dataIds);
        resMaps.put("operator",operator);
        resMaps.put("selectType",selectType);
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("loginUserId",loginUserId);
        resMaps.put("loginIp",loginIp);
        resMaps.put("params",params);
        String url = BASE_PATH + "/doPasteDatasByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据IDS批量修改业务数据状态等（批量数据修改）重写
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @param mapObj
     * @param dataIds
     * @param params
     */
    public void updateRecordByDataIdsByIntfs(String orgId,String deptId,String sysId,String nodeId,String tableId,Map<String, Object> mapObj,String dataIds,Map<String, Object> params) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        resMaps.put("mapObj",mapObj);
        resMaps.put("dataIds",dataIds);
        resMaps.put("params",params);
        String url = BASE_PATH + "/updateRecordByDataIdsByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据IDS批量修改业务数据状态等（批量数据修改）重写
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @param mapObj
     * @param dataIds
     * @param params
     * @param arg1
     */
    public void updateRecordByDataIdsByIntfs(String orgId,String deptId,String sysId,String nodeId,String tableId,Map<String, Object> mapObj,String dataIds,Map<String, Object> params,String arg1) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        resMaps.put("mapObj",mapObj);
        resMaps.put("dataIds",dataIds);
        resMaps.put("params",params);
        resMaps.put("arg1",arg1);
        String url = BASE_PATH + "/updateRecordByDataIdsByIntfs/v2";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据标识条件，获取字段信息
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @param flag
     * @param dataId
     * @param params
     * @return
     */
    public List<Map<String, Object>> getFieldsByConditionByIntfs(String orgId,String deptId,String sysId,String tableId,String flag,String dataId,Map<String, Object> params) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableId",tableId);
        resMaps.put("flag",flag);
        resMaps.put("dataId",dataId);
        resMaps.put("params",params);
        String url = BASE_PATH + "/getFieldsByConditionByIntfs/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *创建表单信息
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param nodeName
     * @param tableId
     */
    public void createCbbTabFormByIntfs(String orgId,String deptId,String sysId,String nodeId,String nodeName,String tableId) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("nodeName",nodeName);
        resMaps.put("tableId",tableId);
        String url = BASE_PATH + "/createCbbTabFormByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据SQL单字段分组查询数据，（可分页）
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @param tableName
     * @param colId
     * @param colName
     * @param sql
     * @param pageNo
     * @param pageSize
     * @param mapParam
     * @return
     */
    public List<Map<String, Object>> getDataBysSqlByIntfs(String orgId,String deptId,String sysId,String tableId,String tableName,String colId,String colName,String sql,String pageNo,String pageSize,Map<String, Object> mapParam) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableId",tableId);
        resMaps.put("tableName",tableName);
        resMaps.put("colId",colId);
        resMaps.put("colName",colName);
        resMaps.put("sql",sql);
        resMaps.put("pageNo",pageNo);
        resMaps.put("pageSize",pageSize);
        resMaps.put("mapParam",mapParam);
        String url = BASE_PATH + "/getDataBysSqlByIntfs/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *更新案卷件数
     * @param resultId
     * @param anTableId
     * @param fileTableId
     * @param orgId
     * @param deptId
     * @param sysId
     */
    public void UpdateJsByAnIdAndAnTableId(String resultId,String anTableId,String fileTableId,String orgId,String deptId,String sysId) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("resultId",resultId);
        resMaps.put("anTableId",anTableId);
        resMaps.put("fileTableId",fileTableId);
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        String url = BASE_PATH + "/UpdateJsByAnIdAndAnTableId/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据创建时间更新卷内序号方法
     * @param param
     */
    public void updateArchiveInNumByParam(Map<String, Object> param) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("param",param);
        String url = BASE_PATH + "/updateArchiveInNumByParam/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据案卷ID获取对应文件的ID和卷内序号
     * @param tableName
     * @param anTableName
     * @param ids
     * @return
     */
    public List<Map<String, Object>> getArchiveInNumAndIdByFileId(String tableName,String anTableName,String ids) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("tableName",tableName);
        resMaps.put("anTableName",anTableName);
        resMaps.put("ids",ids);
        String url = BASE_PATH + "/getArchiveInNumAndIdByFileId/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据文件级数据更新案卷级数据（统计生成应用）
     * @param tableId
     * @param ajDataId
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param wjIds
     * @param params
     */
    public void updateAjDataByWjdataByInfs(String tableId,String ajDataId,String orgId,String deptId,String sysId,String nodeId,String wjIds,Map<String, Object> params) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("tableId",tableId);
        resMaps.put("ajDataId",ajDataId);
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("wjIds",wjIds);
        resMaps.put("params",params);
        String url = BASE_PATH + "/updateAjDataByWjdataByInfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *断号查询
     * @param orgId
     * @param deptId
     * @param sysId
     * @param param
     * @return
     */
    public Map<String, Object> getDisconnectNumByParamByIntfs(String orgId,String deptId,String sysId,Map<String, Object> param) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("param",param);
        String url = BASE_PATH + "/getDisconnectNumByParamByIntfs/v1";
        ResponseMsg<Map<String, Object>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<Map<String, Object>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据NODE_ID 判断是否为档案类型数据
     * @param orgId
     * @param sysId
     * @param nodeId
     * @param tableId
     * @return
     */
    public String getArchiveTypeByNodeIdAndTableId(String orgId,String sysId,String nodeId,String tableId) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        String url = BASE_PATH + "/getArchiveTypeByNodeIdAndTableId/v1";
        ResponseMsg<String> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<String>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据表ID及数据ID集合获得数据对应的密级
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @param ids
     * @return
     */
    public Map<String, Object> getSecretLevelByIdsAndTableId(String orgId,String deptId,String sysId,String tableId,String ids) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableId",tableId);
        resMaps.put("ids",ids);
        String url = BASE_PATH + "/getSecretLevelByIdsAndTableId/v1";
        ResponseMsg<Map<String, Object>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<Map<String, Object>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据表ID，获取所有选择弹出框信息（返回值以英文分号隔开）
     * @param orgId
     * @param deptId
     * @param sysId
     * @param tableId
     * @return
     */
    public String getSelectDialogStringByIntfs1(String orgId,String deptId,String sysId,String tableId) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("tableId",tableId);
        String url = BASE_PATH + "/getSelectDialogStringByIntfs1/v1";
        ResponseMsg<String> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<String>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *创建新条目附件关系数据
     * @param param
     */
    public void createAttachmentRelationDatas(Map<String, Object> param) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("param",param);
        String url = BASE_PATH + "/createAttachmentRelationDatas/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *查询已存在盒号 SanxiaFiles create by zhangrui
     * @param nodeId
     * @param tableId
     * @return
     */
    public List<Map<String, Object>> getArchiveClassNoBySql(String nodeId,String tableId) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        String url = BASE_PATH + "/getArchiveClassNoBySql/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *删除数据方法(真删)
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param param
     */
    public void deleteDatasByParamByIntfs(String orgId,String deptId,String sysId,String nodeId,Map<String, Object> param) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("param",param);
        String url = BASE_PATH + "/deleteDatasByParamByIntfs/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *生成所选数据保管号
     * @param orgId
     * @param deptId
     * @param sysId
     * @param paramMap
     * @return
     */
    public Boolean updateBghByRecordIdByIntfs(String orgId,String deptId,String sysId,Map<String, Object> paramMap) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("paramMap",paramMap);
        String url = BASE_PATH + "/updateBghByRecordIdByIntfs/v1";
        ResponseMsg<Boolean> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<Boolean>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据tableId、nodeId获取tabNodeId（模板文件夹NODE_ID）
     * @param nodeId
     * @return
     */
    public String getCbbTabModelNodeIdByNodeId(String nodeId) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("nodeId",nodeId);
        String url = BASE_PATH + "/getCbbTabModelNodeIdByNodeId/v1";
        ResponseMsg<String> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<String>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *更新起止日期方法抽离
     * @param anId
     * @param anTableId
     * @param param
     */
    public void UpdateQzrqByAnIdAndAnTableId(String anId,String anTableId,Map<String, Object> param) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("anId",anId);
        resMaps.put("anTableId",anTableId);
        resMaps.put("param",param);
        String url = BASE_PATH + "/UpdateQzrqByAnIdAndAnTableId/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *变更案卷页数
     * @param anId
     * @param tgtAnTableId
     * @param fileIds
     * @param tgtFileTableId
     * @param orgId
     * @param nodeId
     */
    public void UpdateYsByAnIdAndAnTableId(String anId,String tgtAnTableId,String fileIds,String tgtFileTableId,String orgId,String nodeId) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("anId",anId);
        resMaps.put("tgtAnTableId",tgtAnTableId);
        resMaps.put("fileIds",fileIds);
        resMaps.put("tgtFileTableId",tgtFileTableId);
        resMaps.put("orgId",orgId);
        resMaps.put("nodeId",nodeId);
        String url = BASE_PATH + "/UpdateYsByAnIdAndAnTableId/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *
     * @param sourceId
     * @param tableId
     * @param recordId
     * @return
     */
    public String getConfigStr(String sourceId,String tableId,String recordId) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("sourceId",sourceId);
        resMaps.put("tableId",tableId);
        resMaps.put("recordId",recordId);
        String url = BASE_PATH + "/getConfigStr/v1";
        ResponseMsg<String> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<String>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据userId查找userName
     * @param id
     * @return
     */
    public String getUserNameById(String id) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("id",id);
        String url = BASE_PATH + "/getUserNameById/v1";
        ResponseMsg<String> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<String>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *自定义页面，根据ID查询具体的值
     * @param value
     * @param path
     * @return
     */
    public String getCustomValue(String value,String path) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("value",value);
        resMaps.put("path",path);
        String url = BASE_PATH + "/getCustomValue/v1";
        ResponseMsg<String> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<String>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据deptId查找deptName
     * @param id
     * @return
     */
    public String getDeptNameById(String id) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("id",id);
        String url = BASE_PATH + "/getDeptNameById/v1";
        ResponseMsg<String> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<String>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *根据盒号获取存放位置 SanxiaFiles create by zhaoxiaolong
     * @param orgId
     * @param deptId
     * @param sysId
     * @param nodeId
     * @param boxCode
     * @param tableName
     * @return
     */
    public String getExistenceArchivePositionByBoxCode(String orgId,String deptId,String sysId,String nodeId,String boxCode,String tableName) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("nodeId",nodeId);
        resMaps.put("boxCode",boxCode);
        resMaps.put("tableName",tableName);
        String url = BASE_PATH + "/getExistenceArchivePositionByBoxCode/v1";
        ResponseMsg<String> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<String>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *处理卷内序号方法
     * @param param
     */
    public void saveOtherArchiveInNumByIntfsByParam(Map<String, Object> param) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("param",param);
        String url = BASE_PATH + "/saveOtherArchiveInNumByIntfsByParam/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }


    /**
     *根据tableId和数据id获取页数和下标
     * @param param
     * @param sqlWhere
     * @return
     */
    public List<String> getDatasPageNumAndIndexByTableIdRecordId(Map<String, Object> param,String sqlWhere) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("param",param);
        resMaps.put("sqlWhere",sqlWhere);
        String url = BASE_PATH + "/getDatasPageNumAndIndexByTableIdRecordId/v1";
        ResponseMsg<List<String>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<String>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *获取查询条件拼接中文查询语句
     * @param orgId
     * @param deptId
     * @param sysId
     * @param userId
     * @param orgCode
     * @param nodeId
     * @param tableId
     * @param json
     * @param sessionLanguageCode
     * @return
     */
    public String getSearchString(String orgId,String deptId,String sysId,String userId,String orgCode,String nodeId,String tableId,String json,String sessionLanguageCode) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("orgId",orgId);
        resMaps.put("deptId",deptId);
        resMaps.put("sysId",sysId);
        resMaps.put("userId",userId);
        resMaps.put("orgCode",orgCode);
        resMaps.put("nodeId",nodeId);
        resMaps.put("tableId",tableId);
        resMaps.put("json",json);
        resMaps.put("sessionLanguageCode",sessionLanguageCode);
        String url = BASE_PATH + "/getSearchString/v1";
        ResponseMsg<String> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<String>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *文件级根据dataId查询归档单位和责任者的id
     * @param dataId
     * @param tableName
     * @return
     */
    public List<Map<String, Object>> getCode(String dataId,String tableName) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("dataId",dataId);
        resMaps.put("tableName",tableName);
        String url = BASE_PATH + "/getCode/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *查询已存在盒号 SanxiaFiles create by zhangrui
     * @param tableId
     * @param deptId
     * @param tableName
     * @param textName
     * @return
     */
    public List<Map<String, Object>> getBoxByTableId(String tableId,String deptId,String tableName,String textName) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("tableId",tableId);
        resMaps.put("deptId",deptId);
        resMaps.put("tableName",tableName);
        resMaps.put("textName",textName);
        String url = BASE_PATH + "/getBoxByTableId/v1";
        ResponseMsg<List<Map<String, Object>>> responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg<List<Map<String, Object>>>>() {
        });
        return RestClientUtils.getResponseBody(responseMsg);
    }


    /**
     *拆卷下没有子卷修改案卷为不显示
     * @param sqlT
     * @param anTableId
     */
    public void updateById(String sqlT,String anTableId) {
        Map<String,Object> resMaps = new HashMap<>();
        resMaps.put("sqlT",sqlT);
        resMaps.put("anTableId",anTableId);
        String url = BASE_PATH + "/updateById/v1";
        ResponseMsg responseMsg = restClient.doPost(SERVICE_CODE, url, resMaps, new ParameterizedTypeReference<ResponseMsg>() {
        });
        return;
    }






}
